
using System;
using System.Collections.Generic;

namespace PentaBiz.Collections.DataCache
{
    public interface ISequentialDataCache<T> : IEnumerable<T>, IDisposable
    {
        /// <summary>
        /// Gets the count of items.
        /// </summary>
        /// <value>
        /// The count of items.
        /// </value>
        int Count { get; }

        /// <summary>
        /// Gets the path.
        /// </summary>
        /// <value>
        /// The path.
        /// </value>
        string Path { get; }

        /// <summary>
        /// Adds the specified item.
        /// </summary>
        /// <param name="item">The item.</param>
        void Add(T item);

        /// <summary>
        /// Clears this instance.
        /// </summary>
        void Clear();

        /// <summary>
        /// Closes this instance.
        /// </summary>
        void Close();

        /// <summary>
        /// Deletes this instance.
        /// </summary>
        void Delete();
    }
}